package com.gmail.dmitryustimov.ms.java7.observer.mod.demo.subj1subsc10event10;

import com.gmail.dmitryustimov.ms.java7.patternslib.observer.EventPublisher;

public class Subject {

    private EventPublisher<Event1> event1Publisher = new EventPublisher<>();
    private EventPublisher<Event2> event2Publisher = new EventPublisher<>();
    private EventPublisher<Event3> event3Publisher = new EventPublisher<>();
    private EventPublisher<Event4> event4Publisher = new EventPublisher<>();
    private EventPublisher<Event5> event5Publisher = new EventPublisher<>();
    private EventPublisher<Event6> event6Publisher = new EventPublisher<>();
    private EventPublisher<Event7> event7Publisher = new EventPublisher<>();
    private EventPublisher<Event8> event8Publisher = new EventPublisher<>();
    private EventPublisher<Event9> event9Publisher = new EventPublisher<>();
    private EventPublisher<Event10> event10Publisher = new EventPublisher<>();

    public void makeEvent1() {
        event1Publisher.publish(new Event1(""));
    }

    public void makeEvent2() {
        event2Publisher.publish(new Event2(""));
    }

    public void makeEvent3() {
        event3Publisher.publish(new Event3(""));
    }

    public void makeEvent4() {
        event4Publisher.publish(new Event4(""));
    }

    public void makeEvent5() {
        event5Publisher.publish(new Event5(""));
    }

    public void makeEvent6() {
        event6Publisher.publish(new Event6(""));
    }

    public void makeEvent7() {
        event7Publisher.publish(new Event7(""));
    }

    public void makeEvent8() {
        event8Publisher.publish(new Event8(""));
    }

    public void makeEvent9() {
        event9Publisher.publish(new Event9(""));
    }

    public void makeEvent10() {
        event10Publisher.publish(new Event10(""));
    }

    public EventPublisher<Event1> getEvent1Publisher() {
        return event1Publisher;
    }

    public void setEvent1Publisher(EventPublisher<Event1> event1Publisher) {
        this.event1Publisher = event1Publisher;
    }

    public EventPublisher<Event2> getEvent2Publisher() {
        return event2Publisher;
    }

    public void setEvent2Publisher(EventPublisher<Event2> event2Publisher) {
        this.event2Publisher = event2Publisher;
    }

    public EventPublisher<Event3> getEvent3Publisher() {
        return event3Publisher;
    }

    public void setEvent3Publisher(EventPublisher<Event3> event3Publisher) {
        this.event3Publisher = event3Publisher;
    }

    public EventPublisher<Event4> getEvent4Publisher() {
        return event4Publisher;
    }

    public void setEvent4Publisher(EventPublisher<Event4> event4Publisher) {
        this.event4Publisher = event4Publisher;
    }

    public EventPublisher<Event5> getEvent5Publisher() {
        return event5Publisher;
    }

    public void setEvent5Publisher(EventPublisher<Event5> event5Publisher) {
        this.event5Publisher = event5Publisher;
    }

    public EventPublisher<Event6> getEvent6Publisher() {
        return event6Publisher;
    }

    public void setEvent6Publisher(EventPublisher<Event6> event6Publisher) {
        this.event6Publisher = event6Publisher;
    }

    public EventPublisher<Event7> getEvent7Publisher() {
        return event7Publisher;
    }

    public void setEvent7Publisher(EventPublisher<Event7> event7Publisher) {
        this.event7Publisher = event7Publisher;
    }

    public EventPublisher<Event8> getEvent8Publisher() {
        return event8Publisher;
    }

    public void setEvent8Publisher(EventPublisher<Event8> event8Publisher) {
        this.event8Publisher = event8Publisher;
    }

    public EventPublisher<Event9> getEvent9Publisher() {
        return event9Publisher;
    }

    public void setEvent9Publisher(EventPublisher<Event9> event9Publisher) {
        this.event9Publisher = event9Publisher;
    }

    public EventPublisher<Event10> getEvent10Publisher() {
        return event10Publisher;
    }

    public void setEvent10Publisher(EventPublisher<Event10> event10Publisher) {
        this.event10Publisher = event10Publisher;
    }
}
